package packageWA;

import java.awt.EventQueue;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JLabel;
import javax.swing.JComboBox;
import javax.swing.JButton;
import javax.swing.JOptionPane;

import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.sql.ResultSet;
import java.sql.SQLException;

public class ElegirEncuestasRealizadas extends JFrame {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	private JPanel contentPane;
	private String empresa, encuesta;

	/**
	 * Launch the application.
	 */
	public static void main(String[] args) {
		EventQueue.invokeLater(new Runnable() {
			public void run() {
				try {
					ElegirEncuestasRealizadas frame = new ElegirEncuestasRealizadas();
					frame.setVisible(true);
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		});
	}

	/**
	 * Create the frame.
	 * @throws SQLException 
	 */
	public ElegirEncuestasRealizadas() throws SQLException {
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setBounds(100, 100, 427, 255);
		contentPane = new JPanel();
		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
		setContentPane(contentPane);
		contentPane.setLayout(null);
		
		JPanel panel = new JPanel();
		panel.setLayout(null);
		panel.setBorder(new EmptyBorder(5, 5, 5, 5));
		panel.setBounds(6, 6, 416, 211);
		contentPane.add(panel);
		
		JLabel label = new JLabel("Empresa:");
		label.setBounds(55, 54, 61, 16);
		panel.add(label);
		
		JLabel label_1 = new JLabel("Elegir encuesta:");
		label_1.setBounds(55, 102, 110, 16);
		panel.add(label_1);
		
		final JComboBox cbxEncuestas = new JComboBox();
		cbxEncuestas.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				encuesta = cbxEncuestas.getSelectedItem().toString();
			}
		});
		cbxEncuestas.setBounds(167, 98, 200, 27);
		panel.add(cbxEncuestas);
		
		JButton btnVerEncuesta = new JButton("Ver encuesta");
		btnVerEncuesta.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				//Si hemos seleccionado una encuesta
				if (cbxEncuestas.getSelectedIndex() > 0){
					VerEncuestasRealizadas ver = null;
					try {
						ver = new VerEncuestasRealizadas(empresa, encuesta);
					} catch (SQLException e1) {
						// TODO Auto-generated catch block
						e1.printStackTrace();
					}
					ver.setVisible(true);
				}
				else{
					JOptionPane.showMessageDialog(null,"Tiene que seleccionar una encuesta para poder visualizar");
				}
			}
		});
		btnVerEncuesta.setBounds(77, 157, 138, 29);
		panel.add(btnVerEncuesta);
		
		JButton button_1 = new JButton("Cancelar");
		button_1.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
				//Volvemos a la pantalla anterior
				dispose();
			}
		});
		button_1.setBounds(227, 157, 117, 29);
		panel.add(button_1);
		
		final JComboBox cbxEmpresas = new JComboBox();
		cbxEmpresas.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				//Eliminar elementos encuesta de la sleccion anterior
				if(cbxEncuestas.getItemCount() > 1){
					for (int i = cbxEncuestas.getItemCount()-1; i > 0; i--){
						cbxEncuestas.remove(i);
					}
				}
				//Cargar encuestas realizadas por la empresa seleccionada
				ResultSet rs = null;
				try {
					//Obtenemos el CIF de la empresa seleccionada
					rs = GestorBD.getInstance().consulta("SELECT CIF FROM Empresa where Nombre='" + cbxEmpresas.getSelectedItem().toString() + "';");
					rs.next();
				} catch (SQLException e2) {
					// TODO Auto-generated catch block
					e2.printStackTrace();
				}
				ResultSet rs2 = null;
				try {
					//Buscamos las encuestas realizadas por esa empresa
					rs2 = GestorBD.getInstance().consulta("SELECT idEncuesta FROM encuestaempresa where CIF='" + rs.getString("CIF") + "';");
					rs2.next();
				} catch (SQLException e2) {
					// TODO Auto-generated catch block
					e2.printStackTrace();
				}
				ResultSet rs3 = null;
				try {
					while(rs2.next()){
						//Por cada encuesta introducimos el titulo en el combo de encuestas
						rs3 = GestorBD.getInstance().consulta("SELECT Titulo FROM Encuesta where idEncuesta='" + rs2.getInt("idEncuesta") + "';");
						cbxEncuestas.addItem(rs3.getString("Titulo"));
					}
				} catch (SQLException e1) {
					// TODO Auto-generated catch block
					e1.printStackTrace();
				}
				
				empresa = cbxEmpresas.getSelectedItem().toString();
			}
		});
		cbxEmpresas.setBounds(167, 50, 200, 27);
		panel.add(cbxEmpresas);
		
		//Cargar combo Empresas
		cbxEmpresas.addItem("---Elige empresa---");
		ResultSet rs = GestorBD.getInstance().consulta("SELECT Nombre FROM Empresa;");
		while(rs.next()){
			cbxEmpresas.addItem(rs.getString("Nombre"));
		}
		
		//Cargar cabecera encuesta
		cbxEncuestas.addItem("---Elige encuesta---");
		
	}
}
